_Pragma("once");

//#include "ExtendDeviceManager.h"

#ifndef MACHINE
#define MACHINE 9
#endif // MACHINE


#define TO_STRING(MESSAGGE) #MESSAGGE

#define PRAGMA_MESSAGE(MESSAGE) _Pragma(TO_STRING(message(MESSAGE)))

#define PRINT_TO_COMPILE(MESSAGE) PRAGMA_MESSAGE(TO_STRING(MESSAGE))

//PRINT_TO_COMPILE(MACHINE);


/**
MACHINE = 9 大金刚
MACHINE = 10 小金刚


*/

template <uint32_t MACHINE_VALUE>//default 大金刚
struct MachineDependentsT {
};

#if (9 == MACHINE)
    #include "MachineDependents9.h"

#elif (10 == MACHINE)
    #include "MachineDependents10.h"

#elif (12 == MACHINE)
    #include "MachineDependents12.h"

#endif




using MD = MachineDependentsT<MACHINE>;

using ExtendDeviceManagerSingleton = MD::ExtendDeviceManagerSingleton;

using AuthenticatorSingleton = SingletonTemplate<MD::Authenticator>;
